package com.nanjia.boot.myflow.order.model.form;

import com.nanjia.boot.delivery.model.vo.DeliveryAddressVO;
import com.nanjia.boot.myflow.order.item.model.vo.OrderItemVO;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.Getter;
import lombok.Setter;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * 订单主表单对象
 *
 * @author 周洋
 * @since 2025-07-11 11:49
 */
@Getter
@Setter
@Schema(description = "订单主表单对象")
public class OrderForm implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    private Long id;

    @Schema(description = "订单号")
    private String orderSn;

    @Schema(description = "用户ID")
    private Long userId;

    @Schema(description = "订单总额")
    @NotNull(message = "订单总额不能为空")
    private BigDecimal totalAmount;

    @Schema(description = "状态")
    private Integer status;

    private String remark;

    private List<OrderItemVO> orderItems;

    private List<DeliveryAddressVO> deliveryAddresses;

    private Long skuId;
    private Integer count;

    private Long daf0Id;

    private Long daf1Id;
}
